const C3 = self.C3;
self.C3_GetObjectRefTable = function () {
	return [
		C3.Plugins.TiledBg,
		C3.Plugins.Mouse,
		C3.Plugins.Keyboard,
		C3.Plugins.Sprite,
		C3.Behaviors.EightDir,
		C3.Behaviors.bound,
		C3.Behaviors.scrollto,
		C3.Behaviors.Bullet,
		C3.Behaviors.Fade,
		C3.Behaviors.destroy,
		C3.Plugins.Text,
		C3.Behaviors.Anchor,
		C3.Plugins.System.Cnds.EveryTick,
		C3.Plugins.Sprite.Acts.SetTowardPosition,
		C3.Plugins.Mouse.Exps.X,
		C3.Plugins.Mouse.Exps.Y,
		C3.Plugins.Text.Acts.SetText,
		C3.Plugins.Mouse.Cnds.OnClick,
		C3.Plugins.Sprite.Acts.Spawn,
		C3.Plugins.Sprite.Cnds.OnCollision,
		C3.Plugins.Sprite.Acts.SubInstanceVar,
		C3.Plugins.Sprite.Acts.Destroy,
		C3.Plugins.System.Cnds.OnLayoutStart,
		C3.Plugins.Sprite.Acts.SetAngle,
		C3.Plugins.System.Exps.random,
		C3.Plugins.Sprite.Cnds.IsOutsideLayout,
		C3.Plugins.Sprite.Exps.X,
		C3.Plugins.Sprite.Exps.Y,
		C3.Plugins.Sprite.Cnds.CompareInstanceVar,
		C3.Plugins.System.Acts.AddVar,
		C3.Plugins.System.Cnds.Every,
		C3.Plugins.System.Acts.CreateObject
	];
};
self.C3_JsPropNameTable = [
	{背景: 0},
	{鼠标: 0},
	{键盘: 0},
	{"8方向": 0},
	{边界约束: 0},
	{镜头跟随: 0},
	{玩家: 0},
	{生命值: 0},
	{子弹: 0},
	{怪物: 0},
	{淡入淡出: 0},
	{爆炸特效: 0},
	{出界销毁: 0},
	{锚点: 0},
	{文本: 0},
	{分数: 0}
];

self.InstanceType = {
	背景: class extends self.ITiledBackgroundInstance {},
	鼠标: class extends self.IInstance {},
	键盘: class extends self.IInstance {},
	玩家: class extends self.ISpriteInstance {},
	怪物: class extends self.ISpriteInstance {},
	爆炸特效: class extends self.ISpriteInstance {},
	子弹: class extends self.ISpriteInstance {},
	文本: class extends self.ITextInstance {}
}